 
 
-< SPACE TO QUIT   CTRL-S TO STOP/GO >-
 
 
***************************************
*                                     *
* Black Bag Presents...               *
*                                     *
*                                     *
*     Use of ASCII Express Macros     *
*                                     *
*       For: V. 3.46 or V. 4.2        *
*                                     *
*             Written by:             *
*   The Intern & The Chief Surgeon    *
*            of Black Bag             *
*              Rev  1.0               *
*                                     *
***************************************
 
       PRESENTED BY: THE OUTPOST 
 
     Following the tradition of "The
Professional" series, Southwestern
Data Systems has allowed for the use
of extensive macro commands for the
communication package known to most
homeless hackers as "AE."
 
     Macros are probably the least
understood part of AE, if not the
least used.  Remember, "Ignorance
breeds contempt," thus, it is more
likely you are not using macros
because you don't understand them than
you are a masochist. A "macro" is
usually a one word label which
predefines a series of steps. The macro
may function as a subroutine or may
hold a string of data which may be
recalled by a keystroke.  An "AE" macro
is flexible, it may be either a
subroutine or a data library. The data
stored in an AE macro can range from
the password to your favorite AE line
to an often used phone number to baud
rate and duplex settings.  Furthermore,
the parameters set in a macro are in
effect only when the macro is being
invoked.
 
     To create a macro, type "U" for
"U)pdate/Edit Macro", from the AE
command prompt.  This is the point
where you define the macro's you
desire.  As always, operation is
menu-driven, and quite easy to
understand.  The options available are:
 
B) Baud rate
D) Display/Edit macros
E) Duplex (full or half)
F) Data word format
K) Chat mode
L) Load a macro
N) XON character
O) XOFF character
P) Change macro phone number
S) Set terminal parameters
T) Transpose ^H/Rub
U) Update from current macro
W) Write macro to disk
X) Exit to command menu
Z) Screen formatting
$) Emulation mode
^) Apple Cat port switch
 
   Many of these options are quite
simple to understand.  The few that may
not be, are summarized here:
 
Hardware Options:
 
^) Apple Cat port switch
     This function is designed for an
     using the Cat's external port
     for connection to another type
     of modem and will not function
     unless you have the proper
     hardware.
 
Emulation Information:
 
S) Set terminal parameters
     This optionis to be used when the
     current macro being defined is
     to communicate with a smart
     terminal.  Most AE users will
     not need to use this option.
     The parameters set by this option
     deal mainly with cursor movement.
 
     The commands we shall center on
will be the file action commands and
the data definition commands.  The
three file action commands are:
 
 
U) Update from current macro
     This option takes parameters
     in the current macro uses them
     as the current AE parameters
     also.
L) Load a macro
     Loads a macro into memory for
     work.  Assumes ".MAC" extension
     on filename
W) Write macro to disk
     Saves a macro being worked on
     to the disk.  Saves with a ".MAC"
     extension.
 
Definition Commands:
 
P) Change current phone number
     Enter the phone number of the
     system this macro is for with
     this option.
D) Display/Edit Macros
     This command will display the
     fields available for macro
     commands.
 
 
     Well, we know "how" to edit the
macros, we still need to "what" to do.
For each macro file, you may define 12
macro fields.  These fields are labeled
with the numbers 0 to 9 and the symbols
":" and ";".  When editing  macros,
the editing commands are identical to
the AE editor commands.  These fields
may contain internal commands or data.
For example, I hate to write down my
password, so in position 0 I would
place the text of my password.  In
postion 1, I place the last four digits
of my phone.  My fields look like this:
 
#0 T999IK
#1 5143
#2
#3
#4 Billy Bob eats "Cat" food
#5
#6 -=%+
#7
#8
#9
#:
#;
 
     I can have AE type those both in
simply by loading the macro file, have
AE dial the macro's phone number, wait
for the password prompt, and typing:
 
Ctrl-W   0
 
     Next I wait for the phone number
prompt, and I type:
 
Ctrl-W   1
 
 
     I must type the control W first to
instruct AE that I want the 0 macro
field and not the number "0".  If you
do this, you will soon forget all your
passwords.  I have, but AE remembers
them for me.
 
     After you create your macro files,
you must also have some way to tell
AE what macro files you have.  You must
create a macro library.  This is simply
a a small text file listing the names
of the macros you have created.  The
text file must look like this:
 
c/r
Letter/ID Text/Name of macro
Letter/ID Text/Name of macro
 Etc    Etc        Etc
 
 
     The macro library file must have
the name "MACRO.LIB" and the first
character must be a carriage return.
The other information is for
identification of the macro.  The first
field is a single letter (a mini-macro
to load in macros!), the second field
is some text that will tell you what it
is, the third field is the name of the
macro file itself (the name of the file
you saved from the U)pdate macro
option).  The name of the macro is the
name minus the ".MAC" extenstion.  Here
is a sample "MACRO.LIB":
 
C/R
A/The Outpost BBS in Illinois/Outpost
B/The Greek Inn BBS in Illinois/Greek
C/The Black Bag AE Line/BB
 
 
     To load a macro into memory,
type an "M" or "^M".  AE will respond
with: "Select?".  Your options are:
 
?           See macro fields of
                macro in memory
/           See directory
                from "MACRO.LIB"
(Letter)    Load the macro whose
                letter is the same
 
 
 
     The text from the second field
is displayed to the user as the macro
loads.
 
     To dial the macro's phone number
type M as the phone number after
selecting to dial.  AE may be
instructed, by running "Install" to
dial the macro immediately after
loading.
 
 
     You may already see how powerful
AE macros, but there is more.  You may
instruct AE to preform a series of
steps upon the invocation of an AE
macro.  To invoke these steps after
connection simply put the macro
field of the commands after the
phone number.
 
444-4444!0
 
     The ! instructs AE to execute
the commands from field 0 after
connection.  The available macro
commands are:
 
*  Delay
     Halt execution of macro for
     one delay perion (about .5 secs)
 
  Literal
     Do not act upon following
     character.
 
'  C/R
     If located within a string, send
     a c/r. If located at the
     end of a string, supress the
     c/r.
 
%  Handshake
     Wait for the following character
     before continuing.
 
<blah> String handshake
     Wait for the string inbetween the
     brackets before continuing.
     Double conditionals do not support
     string handshaking
 
?  Slow Macro
     If it is the first character of
     a macro string, output will
     slow by 1/3.
 
|  Border character
     No operation, just there to
     neaten things up a bit.
     If after a text line, the | is
     sent along unless it is preceeded
     by the literal character 
 
\  Internal Command Character
     Please notice it is a backslash!
     Take the next character as
     an internal command.  Possible
     internal commands are:
 
       B = Send Break
       C = Clear data buffer
       E = Set duplex to next char
            H = Half Duplex
            F = Full Duplex
Gx<file> = Get another macro file
           named <file>, (adds
           extension) and resume
           execute element x
       H = Hang up phone
       K = Chat mode on
       L = Link to another macro field
       P = Printer on
       R = Copy on
       S = Set parameters to macro's
           Functions like U in
           update mode.  Used when
           two macro files are
           linked.
       T = Transpose on
      Ux = Use x as next subroutine
       Z = Format on
 
~  Multi-handshake
     Allows definition of two possible
     routes depending on host's
     response.
     Format is:
 
     blah-blah-blah ~xyn blah-blah-blah
 
 
     The two sets of blah-blah-blah's
     are just parts of your macro
     string.
 
     The ~ begins the condition
     x is the character which, if
        encountered, will continue
     y is the character which, if
        encountered, will link
        to element n
 
 
 
 
     The use of these macro's is pretty
heavy stuff, a lot of planning must go
into creating them.  I will create
several example macro's and send them
along to show how these work.  The
calling of one macro to another is by
field location, which can be 0-9 and
":" and ";". The nesting of macro
subroutine calls may only be one deep.
 
     The poor spacing, bad spelling,
terrible grammar, and overall lack of
clarity is a direct result of the sun
rising, which indicates the time at
which these were written.  I hope you
look forward to the next revision which
should provide infinite insight into
the use of macros.  One note should be
enphasized, these were written using
documentation from AE 3.46, the
implementation of macros in AE 4.2
through AE 5.0 may have a wide variety
of subtle revision enhancements which
are impossible to determine at this
time.
 
 
    The Intern & The Chief Surgeon
             of Black Bag
 
 
WHICH 1-13 (?=MENU,<CR>):